// subpkg/goods_list/goods_list.js
import {request as axios} from '../../util/request/request'
Page({

    /**
     * 页面的初始数据
     */
    data: {
         // 请求参数对象
         queryObj: {
            // 查询关键词
            query: '',
            // 商品分类Id
            cid: '',
            // 页码值
            pagenum: 1,
            // 每页显示多少条数据
            pagesize: 10
          },
          // 商品列表的数据
          goodsList: [],
          // 总数量，用来实现分页
          total: 0,
          // 节流阀
          flag: false,
          // 是否没有数据
          isEmpty: false
    },
// 获取商品列表数据的方法
async getGoodsList(cb) {
    this.setData({
        flag:true
    })
    // 发起请求
    const { data: res } = await axios('GET','/goods/search', this.data.queryObj)
    if (res.meta.status !== 200) return wx.showToast({
      title: '加载失败',
      icon: 'error'
    })
    // 为数据赋值
    this.setData({
        goodsList:[...this.data.goodsList, ...res.message.goods],
        total:res.message.total
    })
    // 关闭节流阀
    this.setData({
        flag:false
    })
    // 调用回调函数
    cb && cb()
  },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.setData({
            ['queryObj.query']: options.query || '',
            ['queryObj.cid']: options.cid || '',
        })
        this.getGoodsList(() => {
            if (this.data.goodsList.length === 0) {
                this.setData({
                    isEmpty : true
                })
            }
          })
    },
    gotoDetail(e){
        let item = e.currentTarget.dataset.goods
        console.log(e);
        wx.navigateTo({
         url: '/subpkg/goods_detail/goods_detail?goods_id=' + item.goods_id
        })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        this.setData({
            ['queryObj.pagenum']:1,
            goodsList:[],
            total: 0,
            flag : false,
            isEmpty : false
        })
      this.getGoodsList(() => {
        wx.stopPullDownRefresh()
        if (this.data.goodsList.length === 0) {
            this.setData({
                isEmpty : true
            })
        }
      })
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
 // 数据超过或等于总数说明数据已经加载完了
 if (this.data.goodsList.length >= this.data.total) return wx.showToast({
   title: '没有更多了~',
   icon:'none'
 })
 // 先判断节流阀状态
 if (this.data.flag === true) return
 this.setData({
     ['queryObj.pagenum']:this.data.queryObj.pagenum + 1
 })
 this.getGoodsList()
    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})